// 存放路由信息
// 导入路由： constantRoutes 静态路由
import { constantRoutes, asyncRoutes } from '../../router/index.js'

// 定义状态
const state = {
  // 保存路由信息:赋一个默认值（静态路由）
  routes: constantRoutes
}

// 定义 mutations
const mutations = {
  // 设置动态路由
  SET_ROUTES (state, payload) {
    // 将动态路由与静态路由进行合并
    state.routes = [...constantRoutes, ...payload]
  }
}

// 定义 actions
const actions = {
  setRoutes (context, menus) {
    // 设置一个空变量
    const myRoute = []
    // 循环动态路由每一项
    menus.forEach(item => {
      // 筛选跟返回回来对比
      var res = asyncRoutes.filter(key => {
        return key.path === '/' + item
      })
      myRoute.push(...res)
    })
    context.commit('SET_ROUTES', myRoute)
    // 将得到的动态路由返回出去
    return myRoute
  }
}

export default {
  // 设置命名空间
  namespaced: true,
  state,
  mutations,
  actions
}
